<button class="rainbow-btn">
  <div class="content">
    <svg
      viewBox="0 0 16 16"
      class="bi bi-lightning-charge-fill"
      fill="currentColor"
      height="25"
      width="25"
      xmlns="http://www.w3.org/2000/svg"
    >
      <path
        d="M11.251.068a.5.5 0 0 1 .227.58L9.677 6.5H13a.5.5 0 0 1 .364.843l-8 8.5a.5.5 0 0 1-.842-.49L6.323 9.5H3a.5.5 0 0 1-.364-.843l8-8.5a.5.5 0 0 1 .615-.09z"
      ></path>
    </svg>

    Join now
  </div>
</button>

<style>
/* From Uiverse.io by zebra76966  - Tags: animation, gradient, button, click animation */
.rainbow-btn {
  border: 2px;
  border-radius: 35px;
  width: 18em;
  font-size: 2rem;
  padding: 28px 28px;
  color: black;
  background: transparent;
  position: relative;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease-in-out;
  cursor: pointer;
}

.rainbow-btn::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
  content: "";
  height: 4.3em;
  border-radius: 35px;
  width: 18em;
  filter: blur(1px);
  background: radial-gradient(
      at 0% 0%,
      hsla(312, 66%, 67%, 1) 0px,
      transparent 50%
    ),
    radial-gradient(at 28% 79%, hsla(355, 80%, 64%, 1) 0px, transparent 50%),
    radial-gradient(at 100% 1%, hsla(279, 96%, 65%, 1) 0px, transparent 50%),
    radial-gradient(at 5% 91%, hsla(289, 80%, 70%, 1) 0px, transparent 50%),
    radial-gradient(at 50% 37%, hsla(28, 100%, 74%, 1) 0px, transparent 50%),
    radial-gradient(at 27% 38%, hsla(189, 0%, 100%, 1) 0px, transparent 50%),
    radial-gradient(at 0% 50%, hsla(355, 100%, 93%, 1) 0px, transparent 50%),
    radial-gradient(at 64% 78%, hsla(340, 100%, 76%, 1) 0px, transparent 50%),
    radial-gradient(at 0% 100%, hsla(22, 100%, 77%, 1) 0px, transparent 50%),
    radial-gradient(at 72% 55%, hsla(240, 68%, 97%, 1) 0px, transparent 50%),
    radial-gradient(at 51% 14%, hsla(28, 100%, 74%, 1) 0px, transparent 50%);
}

.rainbow-btn .content {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 8px;
  font-weight: 500;
  border: 3px solid rgba(255, 255, 255, 0.2);
  border-radius: 25px;
  box-shadow: inset 0 0 1px 2px rgba(255, 255, 255, 0.712);
}
.rainbow-btn .content::before {
  content: " ";
  border: 10px double rgba(247, 201, 232, 0.5);
  border-radius: 35px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 17em;
  height: 3em;
  padding: 10px 8px;
  position: absolute;
  z-index: 2;
}

.rainbow-btn .content svg {
  margin-right: 10px;
}

.rainbow-btn:hover {
  scale: 1.1;
}
.rainbow-btn:focus {
  scale: 0.9;
}

</style>
    